#ifndef SQL_MGR_H
#define SQL_MGR_H

#include<QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QSqlRecord>
#include <QDateTime>

class Sql_Mgr
{
public:
    Sql_Mgr();
    ~Sql_Mgr();

    static Sql_Mgr* instance;

    static Sql_Mgr* getInstance()
    {
        if(nullptr==instance)
        {
            instance = new Sql_Mgr();
        }
        return instance;
    }

    void test();
    //初始化
    void init();

    bool login(QString strUser, QString strPass, int& userId);

    //获取所有用户
    QVector<QStringList> getUser(QString strCondition="");

    //添加用户
    void addUser(QVector<QStringList> v);

    //删除用户
    void delUser(QString strId);

    //获取所有图书
    QVector<QStringList> getBook(QString strCondition="", int id=-1);

    //增加图书
    void addBooks(QVector<QStringList> v);

    //修改图书
    void updateBook(QStringList v);

    //删除图书
    QString delBook(QString strId);

    //图书归还
    QString returnBook(QString strUserId, QString strBookId);

    //图书借阅
    QString borrowBook(QString strUserId, QString strBookId);

    //获取借阅记录
    QVector<QStringList> getRecord(QString strCondition="");

    //清空借阅记录
    void clearRecord();

private:
    QSqlDatabase m_Db;

};

#endif // SQL_MGR_H
